home *** CD-ROM | disk | FTP | other *** search
- u
-
- Interview with Nightlord Commodore 64
- programmer
-
- COMMODORE FREE: Please introduce
- yourself to our readers
-
- NIGHTLORD: My name is Bilgem Cakir &
- I am more widely known as Nightlord/
- Glance. I am a coder mostly and I
- occasionally do graphics & music. I
- also write for various publications
- from time to time.
-
- CF: Should we call you Nightlord?,
- where did the handle come from?
-
- NL: Yep you can call me Nightlord or
- Bilgem whichever you like. The handle
- comes from my teenage years where I
- was trying to come up with a handle
- that had to do with night & darkness
- (since I mostly coded at nights) &
- with a powerful title (possibly
- because of low self esteem :) )
-
- CF: You were a coder with Glance &
- Civitas can you tell our reader about
- these groups?
-
- NL: Glance is a relatively new group
- that released its debut demo called
- Living in 2005.
-
- I think it is one of the few (few
- meaning maybe 10) active groups in the
- C64 demo scene that has a potential to
- do some serious technical demos.
- Unfortunately we have somewhat
- disappointed ourselves & our friends &
- in the scene by not releasing our 2nd
- demo, but hopefully we will do that
- soon enough. It is a group made of
- sceners that had been active in other
- groups before. My fellow group mates
- are Arcane (gfx), Datura (gfx), Endo
- (code), Hydrogen (gfx, msx) & Skate
- (code). There is also a surprise
- addition to our team recently but we
- have decided to not announce it
- officially until we release our demo
- in which he takes part (ahhh the games
- we play :) ). So I will not tell who
- he is but I send my greetings to him
- as well.
-
- Civitas is a group that I used to be
- active in during 2003 - 2005 (I
- released three demos & a few diskmag
- articles). Unfortunately in the recent
- years I failed to keep in touch with
- them. I do not know what they are
- doing nowadays or their most recent
- member status. But greetings to my
- good friend Zeitgeist over there
-
- CF: What is your first experience with
- Commodore machines
-
- NL: Hmm I know this part tends to be
- boring in the interviews & I know you
- have to ask it anyway :) So let me keep
- it short by saying, I got my C64 back
- in 89. The first game I played was
- Commando. After about a week I started
- coding BASIC.
-
- CF: Are you still an active Coder,
- what has been your most recent work?
-
- NL: I would like to call my self an
- active coder yes :) Even though in the
- demo scene I do not consider someone
- active unless they have released
- something in the last 2 years & the
- very fact that you are asking this
- question makes it harder for me to
- call myself active :) My most recent
- "released" work is the Living demo by
- Glance (2005). In the meantime I was
- a part of the demo review diskmag
- called "Nordic Scene Review" but that
- is not the same thing as coding. My
- most recent "close to being released"
- work is the C=++ or cepp compiler
- project. I hope to release it at the
- CommVex 2008. Other than that there
- are off course many unfinished
- progects or ideas (and even a few
- games) in my hard drives waiting to be
- released. Just like most of the other
- coders out there.
-
- CF. What is your most technical
- achievement with the C64?
-
- NL: Hmm I think I really do not have
- anything big enough to call a big
- technical achievement, but I guess I
- have three smaller technical
- achievements that I feel good about.
- One of them is the "moving light
- source vector" part in Mist/Civitas
- (2004). I have not seen that effect in
- any other demo in C64 so I think it is
- an unpopular world first :) (not that
- it is too hard to do or anything). The
- second one is the "doom" part in
- Living/Glance (2005) a coder I respect
- a lot (Oswald/Resource) called it "the
- best doom effect" in a comment &
- that is an achievement for me. The
- third one is "3d dot torus" in
- Living/Glance which happens to be the
- world record in real time 3d dots
- effects which another one of my
- favourite coders (HCL/Booze Design)
- said he jumped when he saw (Again a
- big moment for me to read him saying
- that).
-
- I know these "achievements" sound good
- when you read them in text but believe
- me they are not that good. Each one of
- these effects could be produced much
- better/cleaner/faster.
-
- I also have a managerial achievement
- :) In 2005 I decided to go to Floppy
- party in Sweden & had 10 days to
- make a demo. I had a very very careful
- planning & implementation & was able to
- complete the demo single handedly just
- about 2 hrs before the deadline :) It
- turned out to be an OK demo too. Even
- though it is not a huge success I never
- ever matched the efficiency level I had
- at that project in any other project.
-
- CF. Do you code for any other
- machines, Commodore or non commodore?
-
- NL: Well, at work in past I coded for
- a zillion different embedded cores for
- different consumer products (mostly
- digital TV receivers in UK). I also
- coded for PC games professionally &
- nowadays I code in the Windows empire
- (I duck here from incoming rotten
- tomatoes from Commodore fans :) )
-
- CF. What exactly is C= ++ is this a
- Commodore extension of the C++
- programming language?
-
- NL: Well C=++ (you can read it as
- Commodore plus plus) is two things. A
- language & a compiler for it. The
- Language part is a carefully selected
- subset of the C++ language with a few
- minor Commodore specific extensions.
- It is somewhat hard to explain the
- language to people who do not know the
- C++ language. In short, it is a
- language that has the same syntax as
- C++ but supports less features. I
- tried to select the subset so that it
- covers the most used aspects of the
- language (like classes with
- constructors, destructors, public &
- private methods & attributes, &
- new/delete) & left out the parts
- that would be slow or memory
- inefficient to implement on C-64 (like
- templates & inheritence are left out).
-
- The notes inside the parentheses in
- the previous sentence are intended for
- those who know at least a little about
- object oriented languages (C++, java,
- C#). The main goal of the language is
- to enable programmers to write logic
- intensive object oriented parts of
- their code in C++ while using assembly
- to optimize the most performance
- critical parts. The language is
- designed to be easily integrated with
- assembly. You can call C++ code from
- you assembly & call assembly
- routines from your C++ code easily.
-
- CF. How does C++ Differ from the C
- programming language?
-
- NL; C++ was originally designed to add
- Object Orientation related features on
- top of C language & was aiming to be
- still pretty fast by being close to
- hardware. It mostly managed to achieve
- this aim & is the language of choice
- in most of the PC software that is
- required to be fast (like games for
- example). Today it is mostly considered
- to be a pretty low-level (meaning close
- to hardware) language compared to the
- .NET languages or Java. Unfortunately
- it still is a pretty high-level
- language for 6502 CPU. That's why I had
- to cut some of its features while
- defining C=++.
-
- CF. Why was there a need for a C=
- version of C++ language
-
- NL: I ran into the need while trying
- to make a strategy game for Commodore
- about 3 years ago. For any serious
- piece of software in C64 for many
- years, almost only choice was the
- assembly language. For most things
- anything else will be too slow. But
- even though assembler is suitable for
- efficient graphic algorithms or cycle
- exact raster code, it is not suitable
- for code that has complex logic &
- objects with complex dynamic
- lifetimes. This happens for example in
- a strategy game where you create many
- buildings & units that live, do stuff
- for sometime & die. It is hell to try
- to manage that in assembly. These kinds
- of stuff are more suitable for higher
- level Object Oriented languages.
-
- In recent years there have been
- attempts at making higher level (but
- not Object Oriented) languages. There
- is the cc65 C compiler, & Slang
- language for instance. I have not used
- cc65 but it is used in some serious
- projects so it must be good. I have
- not used Slang either mostly because
- it does not seem to have the OO
- properties I required. Plus I had been
- looking for an opportunity to try my
- hands on making a compiler for some
- time. When all these conditions came
- together I decided to make my own OO
- C++ compiler.
-
- CF. Does the language run natively on
- a C64 or does it run on other hardware
- to produce Commodore Code?
-
- NL It runs on Windows or Linux PCs.
- Your source files are all on a PC &
- you compile them with cepp (The C=++
- compiler) that gives out C64 assembly
- files (still on PC). Then you assemble
- them with Acme cross-assembler by
- Marco Baye. Then you get a c64 binary
- .prg file which you can run on a real
- C64. So this tool is designed to be
- used in cross development scenarios.
-
- CONTINUED IN PART 2
-
-
-